home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 41 / Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso / -seriously_amiga- / misc / notes / deutsch / violinenschlüssel.file < prev    next >
Text File  |  1999-04-19  |  43KB  |  1,415 lines

  1. /* Unterprogramm für "Noten.pprx" */
  2.  
  3. signal on halt
  4. signal on break_c
  5. signal on break_e
  6. signal on break_d
  7. call ppm_SetStyle(N)
  8. call ppm_SetMagMode(250)
  9. call ppm_UpdateScreen()
  10.  
  11.  
  12. noteneingabe:
  13.     sysform = "Notensystemart:2"'0a'x"Anzahl Vorzeichen:2"'0a'x"kleinster Notenwert:4"
  14.     systemform = ppm_Getform("Bitte eingeben ... (nichts=ABBRUCH)", 3, sysform)
  15.     if systemform = '' then exit_msg("Abbruch!")
  16.     parse var systemform systemart '0a'x vz '0a'x xgrd
  17.     if vz == '' then vz = 0
  18.  
  19.     select
  20.     when systemart == '2' then zdist = 4
  21.     when systemart == '1v' then zdist = 2
  22.     when systemart == '1b' then zdist = 2
  23.     when systemart == '' then exit_msg("Abbruch!")
  24.     when vz == '' then exit_msg("Abbruch!")
  25.     otherwise noteneingabe()
  26.     end
  27.     zdist2 = zdist-2
  28.     if xgrd == '' then  exit_msg("Abbruch")
  29.     select
  30.      when xgrd == '1' then xg =0.7
  31.      when xgrd == '2' then xg =1.4
  32.      when xgrd == '4' then xg =2.8
  33.      when xgrd == '8' then xg =5.6
  34.      when xgrd == '16' then xg =11.2
  35.      when xgrd == '' then exit_msg("Abbruch!")
  36.      otherwise noteneingabe()
  37.     end
  38.  
  39.    /* Punktgröße der Noten */
  40.    notepkt = 26
  41.    call ppm_SetJustification(0)
  42.    
  43.    zz = 0   /* Zeilenzähler */
  44.    notex = (2+(vz*0.175))
  45.    page = ppm_CurrentPage()
  46.  
  47. pfad:
  48.    do
  49.            eingabe = ppm_GetFileName("Bitte Notenscriptfile wählen ...","Noten:","")
  50.            res = OPEN(notenfile, eingabe, 'R')
  51.            if res == 0 then
  52.              do
  53.                  fres = ppm_inform(2,"Fehler in der Eingabe, oder File existiert nicht !!!","Nochmal","Abbruch")
  54.                  if fres == 0 then pfad()
  55.                  else exit_msg("Abbruch!")
  56.              end
  57.            call ppm_ShowStatus("OK, ich arbeite ...")
  58.            auslesen(notenfile)
  59.     end
  60.  
  61.     /* x-Abstände der Noten zueinander */
  62. auslesen:
  63.         do
  64.           parse arg file
  65.           noten = READCH(file, 4000)
  66.           i=1
  67.           do forever
  68.             nw = word(noten, i)
  69.             nn = word(noten, i+1)
  70.             al = word(noten, i+2)
  71.             if nw == 'P' then nw = 'p'
  72.             if nw == 'D' then nw = 'd'
  73.             if nw == 'L' then nw = 'l'
  74.             if nw == 'T' then nw = 't'
  75.             if nn == 'T' then nn = 't'
  76.             if nw == 'J' then nw = 'j'
  77.             select
  78.               when al == (X2C(410a)) then al = 'a'
  79.               when al == (X2C(610a)) then al = 'a'
  80.               when al == (X2C(300a)) then al = '0'
  81.               otherwise exit_msg("Da war ein Fehler!")
  82.             end
  83.             if nw == 'E' then nw = 'e'
  84.             call auswahl()
  85.             i=i+3
  86.           end
  87.         end
  88.  
  89.  
  90.       select
  91.         when nn=='GB2' then nn = 'Gb2'
  92.         when nn=='AB2' then nn = 'Ab2'
  93.         when nn=='DB3' then nn = 'Db3'
  94.         when nn=='EB3' then nn = 'Eb3'
  95.         when nn=='GB3' then nn = 'Gb3'
  96.         when nn=='AB3' then nn = 'Ab3'
  97.         when nn=='DB4' then nn = 'Db4'
  98.         when nn=='EB4' then nn = 'Eb4'
  99.         when nn=='GB4' then nn = 'Gb4'
  100.         when nn=='AB4' then nn = 'Ab4'
  101.         when nn=='DB5' then nn = 'Db5'
  102.         when nn=='EB5' then nn = 'Eb5'
  103.         otherwise NOP
  104.       end
  105.  
  106. auswahl:
  107.  
  108. do
  109.     select
  110.       when nw == 'j' then do
  111.                           zz = 0   /* Zeilenzähler */
  112.                           notex = (2+(vz*0.175))
  113.                           return
  114.                           end
  115.       when nw == 'e' then
  116.         do
  117.             call ppm_ClearStatus()
  118.             exit_msg("Geschafft!")
  119.         end
  120.       when nw=='s' then
  121.           do
  122.           xw = xg/16
  123.           nw='x'
  124.           yv = 0
  125.           end
  126.       when nw=='S' then
  127.           do
  128.           xw = xg/16
  129.           nw='X'
  130.           yv = 0.47
  131.           end
  132.       when nw=='a' then
  133.           do
  134.           xw = xg/8
  135.           nw='e'
  136.           yv = 0
  137.           end
  138.       when nw=='A' then
  139.           do
  140.           xw = xg/8
  141.           nw='E'
  142.           yv = 0.47
  143.           end
  144.       when nw=='v' then
  145.           do
  146.           xw = xg/4
  147.           nw='q'
  148.           yv = 0
  149.           end
  150.       when nw=='V' then
  151.           do
  152.           xw = xg/4
  153.           nw='Q'
  154.           yv = 0.47
  155.           end
  156.       when nw=='h' then
  157.           do
  158.           xw = xg/2
  159.           yv = 0
  160.           end
  161.       when nw=='H' then
  162.           do
  163.           xw = xg/2
  164.           yv = 0.47
  165.           end
  166.       when nw=='g' then
  167.           do
  168.           xw = xg
  169.           nw='w'
  170.           yv = 0
  171.           end
  172.       when nw=='G' then
  173.           do
  174.           xw = xg
  175.           nw='W'
  176.           yv = 0.47
  177.           end
  178.  
  179.      /* Sprung an den Anfang der Zeile */
  180.       when nw == 'left' then
  181.           do
  182.            call ppm_SetPagePosition(0, zz+1)
  183.           end
  184.  
  185.      /* Punkt nach der Note - muß als erstes eingegeben werden falls gewünscht
  186.         den nötigen Freiraum mit "sp" eingeben */
  187.  
  188.       when nw == 'pk' then
  189.           do
  190.             if notex < 3 then
  191.             do
  192.               notex = bakx
  193.               zz = zz - zdist
  194.               call ppm_SetSize(25)
  195.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  196.               call ppm_SetSize(20)
  197.               call ppm_TextIntoBox(box#id, 'd')
  198.             end
  199.             else
  200.             do
  201.               call ppm_SetSize(25)
  202.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  203.               call ppm_SetSize(20)
  204.               call ppm_TextIntoBox(box#id, 'd')
  205.             end
  206.            select
  207.                when nn == '1' then
  208.                do
  209.                xw = xg
  210.                notex = notex+xw
  211.                end
  212.                when nn == '2' then
  213.                do
  214.                xw = xg/2
  215.                notex = notex+xw
  216.                end
  217.                when nn == '4' then
  218.                do
  219.                xw = xg/4
  220.                notex = notex+xw
  221.                end
  222.                when nn == '8' then
  223.                do
  224.                xw = xg/8
  225.                notex = notex+xw
  226.                end
  227.                when nn == '16' then
  228.                do
  229.                xw  = xg/16
  230.                notex = notex+xw
  231.                end
  232.                when nn == 't' then
  233.                do
  234.                xw  = 0.2
  235.                notex = notex+xw
  236.                end
  237.                when nn == '0' then do
  238.                end
  239.                otherwise
  240.                do
  241.                 call ppm_ClearStatus()
  242.                 exit_msg("Da war ein Fehler")
  243.                end
  244.            end
  245.            if notex >=18.7 then
  246.                do
  247.                  notex = (2+(vz*0.175))
  248.                  zz = zz + zdist
  249.                end
  250.            return
  251.           end
  252.  
  253.       when nw == 'PK' then
  254.           do
  255.             if notex < 3 then
  256.             do
  257.               notex = bakx
  258.               zz = zz - zdist
  259.               call ppm_SetSize(25)
  260.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  261.               call ppm_SetSize(20)
  262.               call ppm_TextIntoBox(box#id, 'd')
  263.             end
  264.             else
  265.             do
  266.               call ppm_SetSize(25)
  267.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  268.               call ppm_SetSize(20)
  269.               call ppm_TextIntoBox(box#id, 'd')
  270.             end
  271.            select
  272.                when nn == '1' then
  273.                do
  274.                xw = xg
  275.                notex = notex+xw
  276.                end
  277.                when nn == '2' then
  278.                do
  279.                xw = xg/2
  280.                notex = notex+xw
  281.                end
  282.                when nn == '4' then
  283.                do
  284.                xw = xg/4
  285.                notex = notex+xw
  286.                end
  287.                when nn == '8' then
  288.                do
  289.                xw = xg/8
  290.                notex = notex+xw
  291.                end
  292.                when nn == '16' then
  293.                do
  294.                xw  = xg/16
  295.                notex = notex+xw
  296.                end
  297.                when nn == 't' then
  298.                do
  299.                xw  = 0.2
  300.                notex = notex+xw
  301.                end
  302.                when nn == '0' then
  303.                do
  304.                end
  305.                otherwise
  306.                do
  307.                 call ppm_ClearStatus()
  308.                 exit_msg("Da war ein Fehler")
  309.                end
  310.            end
  311.            if notex >=18.7 then
  312.                do
  313.                  notex = (2+(vz*0.175))
  314.                  zz = zz + zdist
  315.                end
  316.            return
  317.           end
  318.  
  319.       /* Taktstrich */
  320.       when nw == 't' then
  321.           do
  322.            call ppm_SetLineWeight(0.25)
  323.            call ppm_DrawLine(notex, 2+zz, notex, 2.8+zz)
  324.            notex = notex+0.2
  325.            return
  326.           end
  327.  
  328.      /* Pausen */
  329.       when nw == 'p' then
  330.         do
  331. pausenwert:
  332.          /*  wert = ppm_GetForm("1/1 1/2 1/4 1/8 1/16 ...?", 2, "1 , 2, 4, 8, 16") */
  333.            x = notex
  334.            select
  335.                when nn== '0' then do
  336.                                   end
  337.                when nn== '1' then do
  338.  
  339.                    y = 2.28+zz
  340.                    call ppm_SetLineWeight(4)
  341.                    call ppm_DrawLine(x, y, x+0.4, y)
  342.                    call ppm_SetLineWeight(0.25)
  343.                    xw = xg
  344.                    notex = notex+xw
  345.                end
  346.  
  347.                when nn== '2' then do
  348.  
  349.                    y = 2.32+zz
  350.                    call ppm_SetLineWeight(4)
  351.                    call ppm_DrawLine(x, y, x+0.4, y)
  352.                    call ppm_SetLineWeight(0.25)
  353.                    xw = xg/2
  354.                    notex = notex+xw
  355.                end
  356.  
  357.                when nn== '4' then do
  358.  
  359.                    y = 2.07+zz
  360.                    Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
  361.                    boxnm = ppm_DocNextBox(Pbox)
  362.                    call ppm_DeleteContents(boxnm)
  363.                    call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/viertelPause', pause)
  364.                    xw = xg/4
  365.                    notex = notex+xw
  366.                end
  367.  
  368.                when nn== '8' then do
  369.  
  370.                    y = 2.21+zz
  371.                    Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  372.                    boxnm = ppm_DocNextBox(Pbox)
  373.                    call ppm_DeleteContents(boxnm)
  374.                    call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/achtelPause', pause)
  375.                    xw = xg/8
  376.                    notex = notex+xw
  377.                end
  378.  
  379.                when nn== '16' then do
  380.  
  381.                    y = 2.21+zz
  382.                    Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  383.                    boxnm = ppm_DocNextBox(Pbox)
  384.                    call ppm_DeleteContents(boxnm)
  385.                    call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/sechzehntelPause', pause)
  386.                    xw = xg/16
  387.                    notex = notex+xw
  388.                end
  389.                otherwise
  390.                do
  391.                 call ppm_ClearStatus()
  392.                 exit_msg("Da war ein Fehler")
  393.                end
  394.            end
  395.            if notex >=18.7 then
  396.                do
  397.                  notex = (2+(vz*0.175))
  398.                  zz = zz + zdist
  399.                end
  400.           return
  401.         end
  402.  
  403.       when nw == 'l' then
  404.         do
  405.           select
  406.  
  407.            when nn== '1' then
  408.                do
  409.                xw = xg
  410.                notex = notex+xw
  411.                end
  412.            when nn== '2' then
  413.                do
  414.                xw = xg/2
  415.                notex = notex+xw
  416.                end
  417.            when nn== '4' then
  418.                do
  419.                xw = xg/4
  420.                notex = notex+xw
  421.                end
  422.            when nn== '8' then
  423.                do
  424.                xw = xg/8
  425.                notex = notex+xw
  426.                end
  427.            when nn== '16' then
  428.                do
  429.                xw = xg/16
  430.                notex = notex+xw
  431.                end
  432.            when nn == 't' then
  433.                do
  434.                xw  = 0.2
  435.                notex = notex+xw
  436.                end
  437.            when nn == '0' then do
  438.                end
  439.            otherwise
  440.            do
  441.             call ppm_ClearStatus()
  442.             exit_msg("Da war ein Fehler")
  443.            end
  444.           end
  445.            if notex >=18.7 then
  446.                do
  447.                  notex = (2+(vz*0.175))
  448.                  zz = zz + zdist
  449.                end
  450.           return
  451.         end
  452.       otherwise
  453.       do
  454.        call ppm_ClearStatus()
  455.        exit_msg("Da war ein Fehler!")
  456.       end
  457.     end
  458.  
  459.  
  460.      /* y-Raster der Noten - Notenhälse nach oben (y-Position der Box) */
  461.  
  462.         call ppm_SetLineWeight(0.25)
  463.  
  464.       select
  465.         when nn=='f#5'  then
  466.         do
  467.             yw = 0.645
  468.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  469.             call ppm_SetSize(20)
  470.             call ppm_TextIntoBox(box#id, 's')
  471.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  472.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  473.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  474.         end
  475.         when nn=='f5'  then
  476.         do
  477.             yw = 0.645
  478.             if al == 'a' then call auflhoch()
  479.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  480.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  481.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  482.         end
  483.         when nn=='e5'  then
  484.         do
  485.             yw = 0.745
  486.             if al == 'a' then call auflhoch()
  487.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  488.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  489.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  490.         end
  491.         when nn=='eb5'  then
  492.         do
  493.             yw = 0.745
  494.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  495.             call ppm_SetSize(20)
  496.             call ppm_TextIntoBox(box#id, 'f')
  497.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  498.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  499.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  500.         end
  501.         when nn=='d#5'  then
  502.         do
  503.             yw = 0.845
  504.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  505.             call ppm_SetSize(20)
  506.             call ppm_TextIntoBox(box#id, 's')
  507.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  508.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  509.         end
  510.         when nn=='d5'  then
  511.         do
  512.             yw = 0.845
  513.             if al == 'a' then call auflhoch()
  514.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  515.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  516.         end
  517.         when nn=='db5'  then
  518.         do
  519.             yw = 0.845
  520.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  521.             call ppm_SetSize(20)
  522.             call ppm_TextIntoBox(box#id, 'f')
  523.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  524.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  525.         end
  526.         when nn=='c#5'  then
  527.         do
  528.             yw = 0.945
  529.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  530.             call ppm_SetSize(20)
  531.             call ppm_TextIntoBox(box#id, 's')
  532.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  533.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  534.         end
  535.         when nn=='c5'  then
  536.         do
  537.             yw = 0.945
  538.             if al == 'a' then call auflhoch()
  539.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  540.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  541.         end
  542.  
  543.         when nn=='h4'  then
  544.         do
  545.             yw = 1.045
  546.             if al == 'a' then call auflhoch()
  547.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  548.         end
  549.  
  550.         when nn=='b4'  then
  551.         do
  552.             yw = 1.045
  553.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  554.         end
  555.  
  556.         when nn=='a#4' then
  557.         do
  558.             yw = 1.145
  559.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  560.             call ppm_SetSize(20)
  561.             call ppm_TextIntoBox(box#id, 's')
  562.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  563.         end
  564.  
  565.         when nn=='a4'  then
  566.         do
  567.             yw = 1.145
  568.             if al == 'a' then call auflhoch()
  569.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  570.         end
  571.  
  572.         when nn=='ab4' then
  573.         do
  574.             yw = 1.145
  575.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  576.             call ppm_SetSize(20)
  577.             call ppm_TextIntoBox(box#id, 'f')
  578.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  579.         end
  580.  
  581.         when nn=='g#4' then
  582.         do
  583.             yw = 1.245
  584.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  585.             call ppm_SetSize(20)
  586.             call ppm_TextIntoBox(box#id, 's')
  587.         end
  588.         when nn=='g4'  then
  589.         do
  590.             yw = 1.245
  591.             if al == 'a' then call auflhoch()
  592.         end
  593.         when nn=='gb4' then
  594.         do
  595.             yw = 1.245
  596.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  597.             call ppm_SetSize(20)
  598.             call ppm_TextIntoBox(box#id, 'f')
  599.         end
  600.         when nn=='f#4' then
  601.         do
  602.             yw = 1.345
  603.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  604.             call ppm_SetSize(20)
  605.             call ppm_TextIntoBox(box#id, 's')
  606.         end
  607.         when nn=='f4'  then
  608.         do
  609.             yw = 1.345
  610.             if al == 'a' then call auflhoch()
  611.         end
  612.         when nn=='e#4' then
  613.         do
  614.             yw = 1.445
  615.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  616.             call ppm_SetSize(20)
  617.             call ppm_TextIntoBox(box#id, 's')
  618.         end
  619.         when nn=='e4'  then
  620.         do
  621.             yw = 1.445
  622.             if al == 'a' then call auflhoch()
  623.         end
  624.         when nn=='eb4' then
  625.         do
  626.             yw = 1.445
  627.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  628.             call ppm_SetSize(20)
  629.             call ppm_TextIntoBox(box#id, 'f')
  630.         end
  631.         when nn=='d#4' then
  632.         do
  633.             yw = 1.545
  634.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  635.             call ppm_SetSize(20)
  636.             call ppm_TextIntoBox(box#id, 's')
  637.         end
  638.         when nn=='d4'  then
  639.         do
  640.             yw = 1.545
  641.             if al == 'a' then call auflhoch()
  642.         end
  643.         when nn=='db4' then
  644.         do
  645.             yw = 1.545
  646.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  647.             call ppm_SetSize(20)
  648.             call ppm_TextIntoBox(box#id, 'f')
  649.         end
  650.         when nn=='c#4' then
  651.         do
  652.             yw = 1.645
  653.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  654.             call ppm_SetSize(20)
  655.             call ppm_TextIntoBox(box#id, 's')
  656.         end
  657.         when nn=='c4'  then
  658.         do
  659.             yw = 1.645
  660.             if al == 'a' then call auflhoch()
  661.         end
  662.         when nn=='h3'  then
  663.         do
  664.             yw = 1.745
  665.             if al == 'a' then call auflhoch()
  666.         end
  667.         when nn=='b3'  then
  668.         do
  669.             yw = 1.745
  670.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  671.             call ppm_SetSize(20)
  672.             call ppm_TextIntoBox(box#id, 'f')
  673.         end
  674.         when nn=='a#3' then
  675.         do
  676.             yw = 1.845
  677.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  678.             call ppm_SetSize(20)
  679.             call ppm_TextIntoBox(box#id, 's')
  680.         end
  681.         when nn=='a3'  then
  682.         do
  683.             yw = 1.845
  684.             if al == 'a' then call auflhoch()
  685.         end
  686.         when nn=='ab3' then
  687.         do
  688.             yw = 1.845
  689.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  690.             call ppm_SetSize(20)
  691.             call ppm_TextIntoBox(box#id, 'f')
  692.         end
  693.         when nn=='g#3' then
  694.         do
  695.             yw = 1.945
  696.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  697.             call ppm_SetSize(20)
  698.             call ppm_TextIntoBox(box#id, 's')
  699.         end
  700.         when nn=='g3'  then
  701.         do
  702.             yw = 1.945
  703.             if al == 'a' then call auflhoch()
  704.         end
  705.         when nn=='gb3' then
  706.         do
  707.             yw = 1.945
  708.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  709.             call ppm_SetSize(20)
  710.             call ppm_TextIntoBox(box#id, 'f')
  711.         end
  712.         when nn=='f#3' then
  713.         do
  714.             yw = 2.045
  715.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  716.             call ppm_SetSize(20)
  717.             call ppm_TextIntoBox(box#id, 's')
  718.         end
  719.         when nn=='f3'  then
  720.         do
  721.             yw = 2.045
  722.             if al == 'a' then call auflhoch()
  723.         end
  724.         when nn=='e#3' then
  725.         do
  726.             yw = 2.145
  727.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  728.             call ppm_SetSize(20)
  729.             call ppm_TextIntoBox(box#id, 's')
  730.         end
  731.         when nn=='e3'  then
  732.         do
  733.             yw = 2.145
  734.             if al == 'a' then call auflhoch()
  735.         end
  736.         when nn=='eb3' then
  737.         do
  738.             yw = 2.145
  739.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  740.             call ppm_SetSize(20)
  741.             call ppm_TextIntoBox(box#id, 'f')
  742.         end
  743.         when nn=='d#3' then
  744.         do
  745.             yw = 2.245
  746.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  747.             call ppm_SetSize(20)
  748.             call ppm_TextIntoBox(box#id, 's')
  749.         end
  750.         when nn=='d3'  then
  751.         do
  752.             yw = 2.245
  753.             if al == 'a' then call auflhoch()
  754.         end
  755.         when nn=='db3' then
  756.         do
  757.             yw = 2.245
  758.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  759.             call ppm_SetSize(20)
  760.             call ppm_TextIntoBox(box#id, 'f')
  761.         end
  762.  
  763.         when nn=='c#3' then
  764.         do
  765.             yw = 2.345
  766.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  767.             call ppm_SetSize(20)
  768.             call ppm_TextIntoBox(box#id, 's')
  769.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  770.         end
  771.  
  772.         when nn=='c3'  then
  773.         do
  774.             yw = 2.345
  775.             if al == 'a' then call auflhoch()
  776.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  777.         end
  778.  
  779.         when nn=='h2'  then
  780.         do
  781.             yw = 2.445
  782.             if al == 'a' then call auflhoch()
  783.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  784.         end
  785.  
  786.         when nn=='b2'  then
  787.         do
  788.             yw = 2.445
  789.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  790.             call ppm_SetSize(20)
  791.             call ppm_TextIntoBox(box#id, 'f')
  792.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  793.         end
  794.  
  795.         when nn=='a#2' then
  796.         do
  797.             yw = 2.545
  798.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  799.             call ppm_SetSize(20)
  800.             call ppm_TextIntoBox(box#id, 's')
  801.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  802.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  803.         end
  804.  
  805.         when nn=='a2'  then
  806.         do
  807.             yw = 2.545
  808.             if al == 'a' then call auflhoch()
  809.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  810.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  811.         end
  812.  
  813.         when nn=='ab2'  then
  814.         do
  815.             yw = 2.545
  816.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  817.             call ppm_SetSize(20)
  818.             call ppm_TextIntoBox(box#id, 'f')
  819.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  820.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  821.         end
  822.  
  823.         when nn=='g#2'  then
  824.         do
  825.             yw = 2.645
  826.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  827.             call ppm_SetSize(20)
  828.             call ppm_TextIntoBox(box#id, 's')
  829.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  830.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  831.         end
  832.  
  833.         when nn=='g2'  then
  834.         do
  835.             yw = 2.645
  836.             if al == 'a' then call auflhoch()
  837.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  838.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  839.         end
  840.  
  841.  
  842.         when nn=='gb2'  then
  843.         do
  844.             yw = 2.645
  845.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  846.             call ppm_SetSize(20)
  847.             call ppm_TextIntoBox(box#id, 'f')
  848.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  849.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  850.         end
  851.  
  852.         when nn=='f#2'  then
  853.         do
  854.             yw = 2.745
  855.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  856.             call ppm_SetSize(20)
  857.             call ppm_TextIntoBox(box#id, 's')
  858.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  859.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  860.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  861.         end
  862.  
  863.         when nn=='f2'  then
  864.         do
  865.             yw = 2.745
  866.             if al == 'a' then call auflhoch()
  867.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  868.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  869.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  870.         end
  871.  
  872.         when nn=='e2'  then
  873.         do
  874.             yw = 2.845
  875.             if al == 'a' then call auflhoch()
  876.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  877.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  878.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  879.         end
  880.  
  881.         when nn=='eb2'  then
  882.         do
  883.             yw = 2.845
  884.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  885.             call ppm_SetSize(20)
  886.             call ppm_TextIntoBox(box#id, 'f')
  887.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  888.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  889.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  890.         end
  891.  
  892.         when nn=='d2'  then
  893.         do
  894.             yw = 2.945
  895.             if al == 'a' then call auflhoch()
  896.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  897.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  898.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  899.             call ppm_DrawLine(notex, zz+3.6, (notex+0.4), zz+3.6)
  900.         end
  901.  
  902.  
  903.     /* y-Raster der Noten - Notenhälse nach unten */
  904.  
  905.         when nn=='F#5'  then
  906.         do
  907.             yw = 1.12
  908.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  909.             call ppm_SetSize(20)
  910.             call ppm_TextIntoBox(box#id, 's')
  911.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  912.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  913.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  914.         end
  915.         when nn=='F5'  then
  916.         do
  917.             yw = 1.12
  918.             if al == 'a' then call aufltief()
  919.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  920.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  921.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  922.         end
  923.         when nn=='E5'  then
  924.         do
  925.             yw = 1.22
  926.             if al == 'a' then call aufltief()
  927.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  928.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  929.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  930.         end
  931.         when nn=='Eb5'  then
  932.         do
  933.             yw = 1.22
  934.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  935.             call ppm_SetSize(20)
  936.             call ppm_TextIntoBox(box#id, 'f')
  937.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  938.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  939.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  940.         end
  941.         when nn=='D#5'  then
  942.         do
  943.             yw = 1.32
  944.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  945.             call ppm_SetSize(20)
  946.             call ppm_TextIntoBox(box#id, 's')
  947.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  948.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  949.         end
  950.         when nn=='D5'  then
  951.         do
  952.             yw = 1.32
  953.             if al == 'a' then call aufltief()
  954.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  955.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  956.         end
  957.         when nn=='Db5'  then
  958.         do
  959.             yw = 1.32
  960.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  961.             call ppm_SetSize(20)
  962.             call ppm_TextIntoBox(box#id, 'f')
  963.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  964.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  965.         end
  966.         when nn=='C#5'  then
  967.         do
  968.             yw = 1.42
  969.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  970.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  971.         end
  972.  
  973.         when nn=='C5'  then
  974.         do
  975.             yw = 1.42
  976.             if al == 'a' then call aufltief()
  977.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  978.             call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
  979.         end
  980.  
  981.         when nn=='H4'  then
  982.         do
  983.             yw = 1.52
  984.             if al == 'a' then call aufltief()
  985.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  986.         end
  987.  
  988.         when nn=='B4'  then
  989.         do
  990.             yw = 1.52
  991.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  992.             call ppm_SetSize(20)
  993.             call ppm_TextIntoBox(box#id, 'f')
  994.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  995.         end
  996.  
  997.         when nn=='A#4' then
  998.         do
  999.             yw = 1.62
  1000.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1001.             call ppm_SetSize(20)
  1002.             call ppm_TextIntoBox(box#id, 's')
  1003.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1004.         end
  1005.  
  1006.         when nn=='A4'  then
  1007.         do
  1008.             yw = 1.62
  1009.             if al == 'a' then call aufltief()
  1010.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1011.         end
  1012.  
  1013.         when nn=='AB4' then nn = 'Ab4'
  1014.         when nn=='Ab4' then
  1015.         do
  1016.             yw = 1.62
  1017.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1018.             call ppm_SetSize(20)
  1019.             call ppm_TextIntoBox(box#id, 'f')
  1020.             call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
  1021.         end
  1022.  
  1023.         when nn=='G#4' then
  1024.         do
  1025.             yw = 1.72
  1026.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1027.             call ppm_SetSize(20)
  1028.             call ppm_TextIntoBox(box#id, 's')
  1029.         end
  1030.         when nn=='G4'  then
  1031.         do
  1032.             yw = 1.72
  1033.             if al == 'a' then call aufltief()
  1034.         end
  1035.         when nn=='GB4' then nn = 'Gb4'
  1036.         when nn=='Gb4' then
  1037.         do
  1038.             yw = 1.72
  1039.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1040.             call ppm_SetSize(20)
  1041.             call ppm_TextIntoBox(box#id, 'f')
  1042.         end
  1043.         when nn=='F#4' then
  1044.         do
  1045.             yw = 1.82
  1046.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1047.             call ppm_SetSize(20)
  1048.             call ppm_TextIntoBox(box#id, 's')
  1049.         end
  1050.         when nn=='F4'  then
  1051.         do
  1052.             yw = 1.82
  1053.             if al == 'a' then call aufltief()
  1054.         end
  1055.         when nn=='E#4' then
  1056.         do
  1057.             yw = 1.92
  1058.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1059.             call ppm_SetSize(20)
  1060.             call ppm_TextIntoBox(box#id, 's')
  1061.         end
  1062.         when nn=='E4'  then
  1063.         do
  1064.             yw = 1.92
  1065.             if al == 'a' then call aufltief()
  1066.         end
  1067.         when nn=='EB4' then nn = 'Eb4'
  1068.         when nn=='Eb4' then
  1069.         do
  1070.             yw = 1.92
  1071.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1072.             call ppm_SetSize(20)
  1073.             call ppm_TextIntoBox(box#id, 'f')
  1074.         end
  1075.         when nn=='D#4' then
  1076.         do
  1077.             yw = 2.02
  1078.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1079.             call ppm_SetSize(20)
  1080.             call ppm_TextIntoBox(box#id, 's')
  1081.         end
  1082.         when nn=='D4'  then
  1083.         do
  1084.             yw = 2.02
  1085.             if al == 'a' then call aufltief()
  1086.         end
  1087.         when nn=='DB4' then nn = 'Db4'
  1088.         when nn=='Db4' then
  1089.         do
  1090.             yw = 2.02
  1091.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1092.             call ppm_SetSize(20)
  1093.             call ppm_TextIntoBox(box#id, 'f')
  1094.         end
  1095.         when nn=='C#4' then
  1096.         do
  1097.             yw = 2.12
  1098.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1099.             call ppm_SetSize(20)
  1100.             call ppm_TextIntoBox(box#id, 's')
  1101.         end
  1102.         when nn=='C4'  then
  1103.         do
  1104.             yw = 2.12
  1105.             if al == 'a' then call aufltief()
  1106.         end
  1107.         when nn=='H3'  then
  1108.         do
  1109.             yw = 2.22
  1110.             if al == 'a' then call aufltief()
  1111.         end
  1112.         when nn=='B3'  then
  1113.         do
  1114.             yw = 2.22
  1115.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1116.             call ppm_SetSize(20)
  1117.             call ppm_TextIntoBox(box#id, 'f')
  1118.         end
  1119.         when nn=='A#3' then
  1120.         do
  1121.             yw = 2.32
  1122.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1123.             call ppm_SetSize(20)
  1124.             call ppm_TextIntoBox(box#id, 's')
  1125.         end
  1126.         when nn=='A3'  then
  1127.         do
  1128.             yw = 2.32
  1129.             if al == 'a' then call aufltief()
  1130.         end
  1131.         when nn=='AB3' then nn = 'Ab3'
  1132.         when nn=='Ab3' then
  1133.         do
  1134.             yw = 2.32
  1135.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1136.             call ppm_SetSize(20)
  1137.             call ppm_TextIntoBox(box#id, 'f')
  1138.         end
  1139.         when nn=='G#3' then
  1140.         do
  1141.             yw = 2.42
  1142.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1143.             call ppm_SetSize(20)
  1144.             call ppm_TextIntoBox(box#id, 's')
  1145.         end
  1146.         when nn=='G3'  then
  1147.         do
  1148.             yw = 2.42
  1149.             if al == 'a' then call aufltief()
  1150.         end
  1151.         when nn=='GB3' then nn = 'Gb3'
  1152.         when nn=='Gb3' then
  1153.         do
  1154.             yw = 2.42
  1155.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1156.             call ppm_SetSize(20)
  1157.             call ppm_TextIntoBox(box#id, 'f')
  1158.         end
  1159.         when nn=='F#3' then
  1160.         do
  1161.             yw = 2.52
  1162.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1163.             call ppm_SetSize(20)
  1164.             call ppm_TextIntoBox(box#id, 's')
  1165.         end
  1166.         when nn=='F3'  then
  1167.         do
  1168.             yw = 2.52
  1169.             if al == 'a' then call aufltief()
  1170.         end
  1171.         when nn=='E#3' then
  1172.         do
  1173.             yw = 2.62
  1174.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1175.             call ppm_SetSize(20)
  1176.             call ppm_TextIntoBox(box#id, 's')
  1177.         end
  1178.         when nn=='E3'  then
  1179.         do
  1180.             yw = 2.62
  1181.             if al == 'a' then call aufltief()
  1182.         end
  1183.         when nn=='EB3' then nn = 'Eb3'
  1184.         when nn=='Eb3' then
  1185.         do
  1186.             yw = 2.62
  1187.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1188.             call ppm_SetSize(20)
  1189.             call ppm_TextIntoBox(box#id, 'f')
  1190.         end
  1191.         when nn=='D#3' then
  1192.         do
  1193.             yw = 2.72
  1194.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1195.             call ppm_SetSize(20)
  1196.             call ppm_TextIntoBox(box#id, 's')
  1197.         end
  1198.         when nn=='D3'  then
  1199.         do
  1200.             yw = 2.72
  1201.             if al == 'a' then call aufltief()
  1202.         end
  1203.         when nn=='DB3' then nn = 'Db3'
  1204.         when nn=='Db3' then
  1205.         do
  1206.             yw = 2.72
  1207.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1208.             call ppm_SetSize(20)
  1209.             call ppm_TextIntoBox(box#id, 'f')
  1210.         end
  1211.  
  1212.         when nn=='C#3' then
  1213.         do
  1214.             yw = 2.82
  1215.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1216.             call ppm_SetSize(20)
  1217.             call ppm_TextIntoBox(box#id, 's')
  1218.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1219.         end
  1220.  
  1221.         when nn=='C3'  then
  1222.         do
  1223.             yw = 2.82
  1224.             if al == 'a' then call aufltief()
  1225.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1226.         end
  1227.  
  1228.         when nn=='H2'  then
  1229.         do
  1230.             yw = 2.92
  1231.             if al == 'a' then call aufltief()
  1232.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1233.         end
  1234.  
  1235.         when nn=='B2'  then
  1236.         do
  1237.             yw = 2.92
  1238.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1239.             call ppm_SetSize(20)
  1240.             call ppm_TextIntoBox(box#id, 'f')
  1241.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1242.         end
  1243.  
  1244.         when nn=='A#2' then
  1245.         do
  1246.             yw = 3.02
  1247.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1248.             call ppm_SetSize(20)
  1249.             call ppm_TextIntoBox(box#id, 's')
  1250.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1251.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1252.         end
  1253.  
  1254.         when nn=='A2'  then
  1255.         do
  1256.           yw = 3.02
  1257.             if al == 'a' then call aufltief()
  1258.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1259.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1260.         end
  1261.  
  1262.         when nn=='AB3' then nn = 'Ab3'
  1263.         when nn=='Ab2'  then
  1264.         do
  1265.           yw = 3.02
  1266.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1267.           call ppm_SetSize(20)
  1268.           call ppm_TextIntoBox(box#id, 'f')
  1269.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1270.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1271.         end
  1272.  
  1273.         when nn=='G#2'  then
  1274.         do
  1275.             yw = 3.12
  1276.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1277.             call ppm_SetSize(20)
  1278.             call ppm_TextIntoBox(box#id, 's')
  1279.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1280.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1281.         end
  1282.  
  1283.         when nn=='G2'  then
  1284.         do
  1285.           yw = 3.12
  1286.             if al == 'a' then call aufltief()
  1287.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1288.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1289.         end
  1290.  
  1291.         when nn=='GB2' then nn = 'Gb2'
  1292.         when nn=='Gb2'  then
  1293.         do
  1294.           yw = 3.12
  1295.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1296.           call ppm_SetSize(20)
  1297.           call ppm_TextIntoBox(box#id, 'f')
  1298.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1299.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1300.         end
  1301.  
  1302.         when nn=='F#2'  then
  1303.         do
  1304.           yw = 3.22
  1305.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1306.           call ppm_SetSize(20)
  1307.           call ppm_TextIntoBox(box#id, 's')
  1308.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1309.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1310.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1311.         end
  1312.  
  1313.         when nn=='F2'  then
  1314.         do
  1315.           yw = 3.22
  1316.             if al == 'a' then call aufltief()
  1317.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1318.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1319.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1320.         end
  1321.  
  1322.         when nn=='E2'  then
  1323.         do
  1324.           yw = 3.32
  1325.             if al == 'a' then call aufltief()
  1326.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1327.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1328.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1329.         end
  1330.  
  1331.         when nn=='Eb2'  then
  1332.         do
  1333.           yw = 3.32
  1334.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1335.           call ppm_SetSize(20)
  1336.           call ppm_TextIntoBox(box#id, 'f')
  1337.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1338.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1339.         end
  1340.  
  1341.         when nn=='D2'  then
  1342.         do
  1343.           yw = 3.42
  1344.             if al == 'a' then call aufltief()
  1345.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1346.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1347.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1348.           call ppm_DrawLine(notex, zz+3.6, (notex+0.4), zz+3.6)
  1349.         end
  1350.  
  1351.         otherwise
  1352.         do
  1353.          call ppm_ClearStatus()
  1354.          exit_msg("Da war ein Fehler!")
  1355.         end
  1356.       end
  1357.  
  1358.  
  1359.         /* größe einer Notenbox */
  1360.           notewidht = 0.64
  1361.           noteheight = 0.97
  1362.  
  1363.  
  1364.           boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
  1365.           call ppm_SetSize(notepkt)
  1366.           call ppm_TextIntoBox(boxid, nw)
  1367.           bakx = notex
  1368.           notex = (notex + xw)
  1369.           if notex >=18.7 then
  1370.               do
  1371.                 notex = (2+(vz*0.175))
  1372.                 zz = zz + zdist
  1373.               end
  1374.     return
  1375. end
  1376. exit
  1377.  
  1378. auflhoch:
  1379. do
  1380.   Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
  1381.   boxnm = ppm_DocNextBox(Pbox)
  1382.   call ppm_DeleteContents(boxnm)
  1383.   call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen)
  1384.   return
  1385. end
  1386.  
  1387. aufltief:
  1388. do
  1389.   Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
  1390.   boxnm = ppm_DocNextBox(Pbox)
  1391.   call ppm_DeleteContents(boxnm)
  1392.   call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen)
  1393.   return
  1394. end
  1395.  
  1396. break_d:
  1397. break_e:
  1398. break_c:
  1399. halt:
  1400.     call exit_msg("User aborted Genie!")
  1401.  
  1402.  
  1403. exit_msg: procedure
  1404. do
  1405.     parse arg message
  1406.  
  1407.     if message ~= '' then
  1408.     call ppm_Inform(1,message,)
  1409.  
  1410.     call ppm_ClearStatus()
  1411.     call ppm_AutoUpdate(1)
  1412.     exit
  1413. end
  1414.  
  1415.